Coding for informed decoders

ABSTRACT

The invention relates to a method of selecting a generator matrix (G) for encoding information words (m) comprising information symbols (m 1 , m 2 , . . . , m k ) into codewords (c) of a code (C) for providing an enhanced error correction capability if at least one information symbol (m 1 , m 2 , m 3 ) is known a priori to a decoder decoding received, possibly mutilated codewords (r). The invention relates further to a method of encoding information words (m) into codewords (c) and to a method of decoding possibly mutilated codewords (r). In order to design a code of which the correction power is enhanced if some information symbols are known to the decoder prior to decoding it is proposed according to the invention that said generator matrix (G) is selected such that the minimum Hamming distance of at least one subcode (C′) of said code (C) is larger than the minimum Hamming distance of said code (C) and that a subcode generator matrix (G′) of said subcode (C′) derives from said generator matrix (G) of said code (C) by omitting the at least one row from said generator matrix (G) corresponding to said at least one a priori known information symbol (m 1 , m 2 , m 3 ).

[0001] The invention relates to a method of selecting a generator matrixfor encoding information words comprising information symbols intocodewords of a code for providing an enhanced error correctioncapability if at least one information symbol is known a priori to adecoder decoding received, possibly mutilated codewords. The inventionrelates further to a method of encoding information words into codewordsand to a method of decoding possibly mutilated codewords of a code intoinformation words. Still further, the invention relates to acorresponding apparatus for encoding information words, to acorresponding apparatus for decoding possibly mutilated codewords, to acomputer program implementing said methods, to a data carrier forrecording user data and to a signal for transmitting user data.

[0002] The concept of using a generator matrix for encoding informationwords into codewords is widely used and known, e.g. from Richard E.Blahut “Theory and Practice of Error-Control Codes”, Addison Wesley, May1984, Sec. 3.2. Such a generator matrix is particularly used anddescribed in standards, like the CD audio standard.

[0003] As a particular example for the use of a systematic algebraiccode for the protection of information against errors, in the field ofaddress retrieval on optical media the sector address on optical mediais part of a header which is protected by an error correcting code.Under many circumstances, e.g. if consecutive sectors are to be writtenor read, or in case of an enforced track jump to an approximately knowndisk area, much of the header information of the current sector can beinferred from the previously read sectors and the table of contents.However, for known codes partial knowledge of information symbols hardlyleads to an improved error correction capacity of the code.

[0004] The present invention therefore relates to coding for a channelproducing symbol errors, where a side-channel which is not known to theencoder possibly informs the decoder about a part of the informationthat is encoded in the transmitted codeword. It is an object of thepresent invention to design a code the error correction power of whichis enhanced if some information symbols are known to the decoder priorto decoding. It is a further object of the present invention, to providea method of encoding information words into codewords and a method ofdecoding a possibly mutilated codeword encoded by such a method ofencoding. Further, corresponding apparatuses shall be provided.

[0005] These objects are achieved by a method of selecting a generatormatrix of claim 1, according to which said generator matrix is selectedsuch that the minimum Hamming distance of at least one subcode of saidcode is larger than the minimum Hamming distance of said code and that asubcode generator matrix of said subcode derives from said generatormatrix of said code by omitting the at least one row from said generatormatrix corresponding to said at least one a priori known informationsymbol. These objects are further achieved by a method of encoding asclaimed in claim 7 and a method of decoding as claimed in claim 12.

[0006] According to the present invention the mapping of informationwords onto codewords is such that the decoder can enhance the effectiveHamming distance if some information symbols of the information wordsare known. However, it is assumed that the decoder is not informed aboutwhich, if any, symbols are actually known to the decoder. To get such anenhancement of the effective Hamming distance a certain predefined (i.e.previously selected) generator matrix is used. Said predefined generatormatrix is then used for encoding and decoding, i.e. it needs to be usedas a standard generator matrix. In other words, the generator matrix isselected such that the minimum Hamming distance of a subcode is largerthan the minimum Hamming distance of the complete code.

[0007] When using said predefined generator matrix address informationcan be protected more reliably. If part of the address information, e.g.the most significant bits, is already known to the decoder if a newcommand to access a certain address on a data carrier, e.g. a disk, isgiven, address retrieval is more reliable which is especially importantduring writing. The decoder can then effectively use a subcode having anincreased minimum Hamming distance. However, if no information symbolsare known to the decoder a priori, decoding of the retrieved codeword ispossible as usual and the Hamming distance of the code used according tothe invention will be the same as the Hamming distance of known codes,i.e. no subcode with a larger minimum Hamming distance can be usedduring decoding.

[0008] When receiving a possibly mutilated codeword, e.g. by reading itfrom a data carrier, and in the case where at least one informationsymbol is known to the decoder a priori, e.g. the most significant bitsof a read address, the decoder first encodes the known informationsymbols by using the corresponding rows of said generator matrix whichhas already been used to encode the corresponding information word ofsaid information symbols into a codeword and then adds the result givingan intermediate word. Such intermediate word is thereafter subtractedfrom the received codeword which is to be decoded. The result is thendecoded by a known decoding method using a subcode generator matrixcomprising only that part of the generator matrix used for encoding theinformation word which corresponds to the unknown information symbols,i.e., from the generator matrix used for encoding, the rowscorresponding to the information symbols known a priori to the decoderare omitted, and the decoder does only use the remaining rows of thegenerator matrix as a subcode generator matrix for decoding the resultof said subtraction. This means that in the subcode generator matrixonly the rows of the generator matrix appear that do not correspond tothe a priori known information symbols.

[0009] When selecting the generator matrix as described above the errorcorrection power can be enhanced if some information symbols are knownto the decoder prior to decoding. There may be different levels ofimprovement depending on which and how many information symbols areknown to the decoder.

[0010] A preferred embodiment of the invention is given in claim 2.According to this embodiment the generator matrix of the code comprisesat least two subcode generator matrices all having different number ofrows wherein all rows of such subcode generator matrices are part ofsaid generator matrix, i.e. the subcodes deriving from said subcodegenerator matrices are nested in said code deriving from said generatormatrix. Each row of the generator matrix can also be regarded asrepresenting a polynomial each having a certain number of zeros.According to the present embodiment certain zeros are common to eachpolynomial, i.e. to each polynomial represented by one row of thegenerator matrix. However, each polynomial differs from each otherpolynomial in at least one zero. With this embodiment it can be achievedthat the Hamming distance increases with the number of informationsymbols known a priori to the decoder.

[0011] The generator matrix may also be selected such that its errorcorrection capacity increases with an increasing number of informationsymbols which are a priori known to the decoder. The generator matrixmay further be selected such that the Hamming distance of all propersubcodes of said code generated by some, but not all, rows of thegenerator matrix is larger than the Hamming distance of said code. Thishas the advantage that already in the case where one information symbolis known a priori to the decoder the code has an improved errorcorrection capacity no matter which information symbol is known apriori.

[0012] Further preferred embodiments of the method of selecting saidgenerator matrix are defined in claims 3 to 6. A method of encodinginformation words into codewords according to the invention is definedin claim 7; preferred embodiments thereof are given in claims 8 to 11. Amethod of decoding possibly mutilated codewords into information wordsaccording to the invention is defined in claim 12; preferred embodimentsthereof are given in claims 13 to 18.

[0013] The method for decoding a possibly mutilated codeword accordingto the invention is generally characterized in that said informationwords are encoded into said codewords using a generator matrix selectedaccording to the invention and that the contribution of said at leastone a priori known information symbol included in said possiblymutilated codeword is taken into account for decoding said possiblymutilated codeword with enhanced error correcting capabilities. In apreferred embodiment the contribution of said at least one a prioriknown information symbol included in said possibly mutilated codeword issubtracted from said possibly mutilated codeword before decoding saidpossibly mutilated codeword.

[0014] A preferred embodiment of the invention is based on codepuncturing. Therein a larger intermediate generator matrix is used toencode the information words into intermediate codewords having agreater length than codewords encoded using the normal generator matrix.From these intermediate codewords, however, some symbols are omitted toobtain the final codewords. During decoding a received possiblymutilated codeword is first extended by use of the a priori knowninformation symbols to obtain a pseudo codeword which is then decodedusing said intermediate generator matrix used during encoding. Theobtained second pseudo codeword is thereafter input into an error anderasure decoder, preferably of a known construction, retrieving theinformation word.

[0015] One main advantage of this embodiment is that a larger minimumHamming distance can be achieved irrespective if the information symbolsknown a priori are known in a successive order or not. Even if theinformation symbols are not known successively the minimum Hammingdistance of a subcode can be increased by each additional knowninformation symbol if the generator matrix is selected and usedaccording to this embodiment of the invention.

[0016] An advantageous application of the present invention lies in thefield of address retrieval, in particular on optical media. When usingthe invention an address or timing information can be protected by ahigher error correction capacity making an address retrieval more secureand accurate. The invention can further be used for securing addressinformation in a serial data stream, which is for example transmittedover a transmission line like a telecommunication system or theinternet. In general, the invention can be used for protectinginformation by a code having an improved—compared to known codes—errorcorrection capacity if part of the information is known a priori to thedecoder.

[0017] An apparatus for encoding information words and an apparatus fordecoding a possibly mutilated codeword according to the invention aredefined in claims 23 and 24. It shall be understood that theseapparatuses can be developed further and can have similar embodimentswhich have been explained above with reference to the method ofselecting a generator matrix according to claim 1.

[0018] A computer program according to the invention for implementingany or all methods according to the invention is defined in claim 25.

[0019] A data carrier according to the invention is defined in claims 26and 27. Such a data carrier is preferably used for storing audio, videoor software data and might of a recordable or rewriteable type, inparticular an optical record carrier like a CD or a DVD. A particularapplication lies in the field of digital video recording (DVR).Generally, such a data carrier comprises system data items, inparticular system data items of address data, timing data or positiondata, which are already recorded on the data carrier at the productionsite of the data carrier and which are already present an empty datacarrier for recording user data is bought. The invention may thus beused for encoding said system data items. However, the invention may aswell be used for encoding user data.

[0020] Still further, a signal for transmitting user data, said signalincluding system data items, e.g. position, address or timing data,encoded by a method according to the inventions is defined in claim 28.

[0021] The invention will now be further explained in more detail withreference to the drawings, in which:

[0022]FIG. 1 shows the conventional format of a codeword,

[0023]FIG. 2 shows a block diagram of the encoding and decoding scheme,

[0024]FIG. 3 shows an apparatus for encoding information words accordingto the invention,

[0025]FIG. 4 shows an apparatus for decoding according to the invention,

[0026]FIG. 5 shows another embodiment of an apparatus for encodingaccording to the invention,

[0027]FIG. 6 shows still another embodiment of an apparatus for encodingaccording to the invention,

[0028]FIG. 7 shows an embodiment of an apparatus for decoding accordingto the invention,

[0029]FIG. 8 shows means for extracting information symbols from acodeword used in the apparatus for decoding shown in FIG. 7,

[0030]FIG. 9 shows still another embodiment of an apparatus for encodingaccording to the invention, and

[0031]FIG. 10 shows a corresponding apparatus for decoding according tothe invention.

[0032]FIG. 1 shows the typical scheme of codewords c of a [n, k] blockcode, e.g. a Reed-Solomon-Code. A codeword comprises an information wordm comprising k information symbols and a parity word p comprising n−kparity symbols generated when encoding said information word m into acodeword c.

[0033]FIG. 2 shows a block diagram of a typical system using encodingand decoding. Therein user data, e.g. audio or video data, coming from adata source 1, e.g. recorded on a master tape or master disk, areencoded before they are stored on a data carrier, e.g. a disk, ortransmitted over a transmission channel, e.g. over the internet, beforethey are again decoded for forwarding them to a data sink 9, e.g. forreplaying them.

[0034] As can be seen the user data of the source 1 are first encoded bya source encoder 2, then error correction encoded by an ECC encoder 3and thereafter modulated by a modulator 4, e.g. an EFM modulator, beforethe encoded user data—the codewords—are put on the channel 5 on whicherrors may be introduced into the codewords. The channel 5 shall hereinterpreted broadly, including a transmission channel as well as storageof the encoded data on a data carrier for a later replay.

[0035] When replay of data is intended the encoded data first have to bedemodulated by a demodulator 6, e.g. an EFM demodulator, before they areerror correction decoded by an ECC decoder 7 and source decoded by asource decoder 8. Finally the decoded user data can be input to the sink9, e.g. a player device for replay of the user data.

[0036] Such a general system is, however, not only used for encoding anddecoding user data, but may as well be used for any kind of data likemanagement data, in particular address data. Such address data are usedto find a certain location on a data carrier or in a data stream of userdata. On recordable or rewriteable disks such address data are generallyprerecorded on the empty disks before any user data are recorded.

[0037] The present invention refers to encoding and decoding of data.Therein a certain predetermined generator matrix is used the selectionof which is also referred to by a method according to the invention. Aparticular application of the invention lies in the field of addressretrieval of addresses used on optical record carriers.

[0038]FIG. 3 shows an embodiment of an apparatus for encodinginformation words m according to the present invention. Therein theencoding apparatus 10 comprises an encoding unit 11 for encoding theinformation words m comprising a fixed number of information symbols m₁,m₂, . . . , m_(k) into codewords c of a code C. To achieve an improvederror correction capacity a certain predefined generator matrix G isused for encoding the information words m. This generator matrix G isselected and defined once by a selection unit 12 and then provided orpreferably stored in the encoding apparatus 10 and the decodingapparatus for continuous use. By use of the generator matrix G theinformation words m are thus encoded into codewords c by the encodingunit 11. These codewords c can be provided to a writing unit 13recording the codewords c on an optical record carrier 14, e.g. on a CDor a DVD.

[0039] By way of an example the invention, in particular a preferredselection of the generator matrix G, shall be explained in more detail.The example is based on the [7, 4, 3] binary Hamming code C generated byg(x)=x³+x+1. At first the “normal” known use of the code shall beexplained while thereafter the use of a code according to the inventionshall be explained.

[0040] Usually, a code C is used in systematic form, which correspondsto a generator matrix $G_{sys} = \begin{pmatrix}1 & 0 & 0 & 0 & 1 & 0 & 1 \\0 & 1 & 0 & 0 & 1 & 1 & 1 \\0 & 0 & 1 & 0 & 1 & 1 & 0 \\0 & 0 & 0 & 1 & 0 & 1 & 1\end{pmatrix}$

[0041] having four (in general k) rows and seven (in general n) columns.An information word m=(m₁, m₂, m₃, m₄) is mapped onto the codewordc=m·G_(sys). If the i-th information symbol m_(i) is known to thedecoder prior to decoding, the decoder can subtract the contribution ofm_(i) to the received word r prior to decoding. This means that thedecoder decodes the residual received word r−mi_(i)·G_(sys) ^(i), whereG_(sys) ^(i) indicates the i-th row of G_(sys), to a code where the i-throw is removed from the generator matrix G_(sys). The knowledge of up toany three information bits does not alter significantly the correctioncapacity for the unknown information bits, since almost all subcodes C′of the code C obtained by deleting at most three rows of G_(sys) stillhave Hamming distance three. Only if the information bits m₁, m₃ and m₄are known, the Hamming distance for retrieving m₂ is increased to four.

[0042] According to the present invention, another generator matrixG_(id) for the same code C may be given as $G_{id} = {\begin{pmatrix}1 & 1 & 1 & 1 & 1 & 1 & 1 \\0 & 1 & 0 & 0 & 1 & 1 & 1 \\1 & 1 & 0 & 1 & 0 & 0 & 1 \\1 & 1 & 1 & 0 & 1 & 0 & 0\end{pmatrix} = {\begin{pmatrix}g_{1} \\g_{2} \\g_{3} \\g_{4}\end{pmatrix}.}}$

[0043] If the (non-systematic) generator matrix G_(id) is used for theencoding of the code C, an informed decoder as shown in FIG. 4 candecode to more favourable subcodes C′ of the code C if certaininformation bits or information symbols—an information symbol maycomprise more than one bit—are known. For example, if the decoder knowsthe first information bit m₁ it can use the subcode C′ generated by thelast three rows g₂, g₃, g₄ of G_(id), which corresponds to a [7, 3, 4]simplex code. As another example, if the last three bits m₂, m₃, m₄ areknown to the decoder, it can exploit the subcode generated by the firstrow of G_(id) which corresponds to the [7, 1, 7] repetition code, thusenabling the decoder to recover m₁ reliably even in the presence ofthree bit errors.

[0044] An apparatus for decoding a read possibly mutilated codeword r isshown in FIG. 4. Therein the decoding apparatus 20 receives the possiblymutilated codeword r which has been read from the data carrier 14 by areading unit 21. Assuming that an information word m encoded in acodeword c comprises four information symbols m₁, m₂, m₃, m₄ andassuming further that the apparatus 20 for decoding a priori knows threeinformation symbols m₂, m₃, m₄, in a first step said known informationsymbols m₂, m₃, m₄ are encoded by an encoding unit 22 using thegenerator matrix G which is stored in the encoding apparatus 20 in astorage unit 23 and which had already been used for encoding thecodewords c which are stored on the data carrier 14 and read as possiblymutilated codewords r. For such encoding the encoding unit 22 uses therows of the generator matrix G which correspond to the known informationsymbols m₂, m₃, m₄.

[0045] In a subsequent step the result of such encoding, i.e. theproducts of the known information symbols m₂, m₃, m₄ with theircorresponding rows g₂, g₃, g₄ of the generator matrix G_(id), are addedby a summing unit 24 giving an intermediate word s. In a subtractingunit 25 the intermediate word s is subtracted from the read codeword r,and the result of such subtraction is provided to a decoding unit 26.Therein the subcode C′ which is generated by using a subcode generatormatrix G′ is decoded wherein the subcode generator matrix G′ derivesfrom the generator matrix G in the forming means 27 by omitting all rowsfrom the generator matrix G which correspond to the known informationsymbols m₂, m₃, m₄, i.e. in the present example by omitting the rows g₂,g₃, g₄. So in the present example, the subcode generator matrix G′ doesonly comprise the first row g₁ of the generator matrix G. As a resultthe unknown information symbol in, can be retrieved such that thecomplete information word m is finally known. In general, thus thecontribution of said a priori known information symbols included in thepossibly mutilated codeword is subtracted from said possibly mutilatedcodeword, and the result of said subtraction is decoded.

[0046] The method of decoding shall now be explained in more detail byway of an example. The codewords c of a code C shall be given by

c=m·G=(m ₁ m ₂ m ₃ m ₄)(g ₁ g ₂ g ₃ g ₄)^(T) =m ₁ g ₁ +m ₂ g ₂ +m ₃ g ₃+m ₄ g ₄.

[0047] In general the generator matrix G comprises k rows and n columns,the information word m comprises k columns and a codeword c comprises ncolumns.

[0048] Assuming now that the information symbols m₂, m₃, m₄ are known apriori to a decoder and that a read codeword r is given by the sum ofthe stored codeword c plus an additional noise n the intermediate word sis first computed as

s=m ₂ g ₂ +m ₃ g ₃ +m ₄ g ₄.

[0049] Thereafter a difference between the read possibly mutilatedcodeword r and the intermediate word s is calculated as:

r−s=c+n−s=m ₁ g ₁ +n.

[0050] Therein the information symbol m₁ can only be 0 or 1 if theinformation symbol m₁ comprises one bit, the row g₁ of the generatormatrix G is fixed and the noise n is unknown. Using now the above givengenerator matrix G_(id) selected according to the invention g₁ is givenas (1 1 1 1 1 1 1) such that m₁ g₁ can only be (0 0 0 0 0 0 0) or (1 1 11 1 1 1).If the before mentioned calculation of m₁ g₁+n has for exampleresulted in (0 0 1 0 0 1 1) the probability will be higher that m₁ g₁ isgiven as (0 0 0 0 0 0 0) leading to the result that m₁ has bit value 0.As can be seen from this example the information symbol m₁ can bedetermined despite three bit errors in the read codeword which meansthat the remaining subcode C′ has Hamming distance seven.

[0051] The invention can also be illustrated by way of a simple examplewhich may be used for a fast reliable address retrieval. Conventionally,a [7, 4, 3] binary Hamming code is generated by the generator polynomialg(x)=x³+x+1. Each codeword is a binary polynomial multiple of thegenerator polynomial g(x). If a systematic encoder is used theinformation bits appear un-altered. in the high order positions, whilethe parity bits are in the low order positions.

[0052] Below, a list of all 16 codewords of the code is given whereinthe coefficients of each codeword polynomial are given as a vector. Thehighest order symbol c₆ is at the left, while the lowest order symbol c₀is at the right hand side of each codeword. The four left most bits c₆ .. . c₃ correspond to the four information bits m₄ . . . m₁, and thethree right most bits c₂, c₁, c₀ are the parity bits p₃, p₂, p₁. Byinspection, it can be checked that any two codewords differ in at leastthree positions, which means that the Hamming distance of the codeequals three so that one error can be corrected: c₆ c₅ c₄ c₃ c₂ c₁ c₀(m₄ m₃ m₂ m₁ p₃ p₂ p₁) 0 0 0 0 0 0 0 1 0 0 0 1 0 1 0 1 0 0 1 1 1 0 0 1 01 1 0 0 0 0 1 0 1 1 1 1 0 0 0 1 0 0 1 1 0 0 0 1 0 0 1 1 1 0 1 1 0 1 0 01 1 0 1 0 1 1 0 0 1 0 0 1 1 1 0 1 1 1 0 1 0 0 0 1 1 1 0 1 0 1 0 1 1 0 00 1 1 0 1 0 0 1 1 1 1 1 1 1 1

[0053] As an example, the fifth codeword from the top equals 1·g(x) (inpolynomial notation), the fourth codeword from the top equals x·g(x) andthe tenth codeword from the top equals x²·g(x). Important to know isthat the (mod 2) sum of any two codewords is again a codeword, becausethis is a linear code over GF(2), i.e., the code forms a group. Eachinformation bit is protected against one bit error, and any knowledgeabout some information bits does not increase the correction capacity ofthe other information bits.

[0054] According to the present invention the mapping of informationbits into codewords is changed such that knowledge about at least one,in the given example of three, information bit increases the correctioncapacity for the remaining, in the example the forth, information bits.In the following the three left most information bits m₄, m₃, m₂ may becalled the MSB (Most Significant Bits) of an address, and the lastinformation bit m₁ may be called the LSB (Least Significant Bit) of anaddress. The code construction according to the present invention issuch that, if MSB is known, a strong code for extracting LSB isachieved. If none of the information bits is known a priori the errorcorrection capacity is not changed compared to the error correctioncapacity of the conventional code.

[0055] According to the invention use is made of the linearity of thecode. For the encoding of MSB simply those systematic codewords in theabove table are used that have m₁=0. It is to be noted that there areindeed 8 of those codewords. If c (MSB) is the result of this encoding,in order to also encode LSB, c (LSB=0)=0000000 and c (LSB−1)−1111111 ischosen. The final codeword c that is transmitted equals c=c (MSB)+c(LSB), where the “+” indicates a vector addition over GF(2). It is to benoted that c again belongs to the code (the table) because of thelinearity of the code (over GF(2)). It is further to be noted that theeffect of adding c (LSB) to c (MSB) scrambles the value of MSB, i.e. ifLSB=1, the values of MSB are inverted. So the overall code is notsystematic anymore in all its information bits.

[0056] If such a codeword c is transmitted via some channel bit errorsmay be introduced in the codeword. A received codeword may thus bemutilated and will be called possibly mutilated codeword r whichdeviates from the codeword c in the error positions. If nothing is knownabout the information bits, it is only known that the transmittedcodeword c belongs to the Hamming code, so that always one bit error canbe corrected. After error correction which supposedly restores thecodeword c from the received word r the information can be retrieved byfirst extracting LSB (the information symbol m₁) which equals the fourthbit in the codeword c, and with the given LSB either (0 0 0 0 0 0 0) or(1 1 1 1 1 1 1) is subtracted from the codeword c dependent on LSB=0 orLSB=1, respectively. Thereafter, MSB is available as the first threebits of the result. If there is more than one transmission error, therewill, however, be made errors in the decoding result which alwayshappens with a single error correction Hamming code.

[0057] Suppose, however, that MSB is known before decoding. First, themost significant part c(MSB) of the codeword is reconstructed by thedecoder and thereafter subtracted from the received word r. Then either(0 0 0 0 0 0 0) or (1 1 1 1 1 1 1) is left, still corrupted by thechannel errors. Because the distance of these two words equals 7, LSBcan be found even in the presence of 3 bit errors. Thus, by using onlythree parity bits for the overall code, LSB is effectively protected bya [7, 1, 7] repetition code if MSB is known. In this example the [7, 4,3] Hamming code is divided into a [7, 1, 7] subcode and co-sets of thiscode.

[0058] As already explained the invention may be used for protectingaddresses which are used on optical record carriers. However, theinvention may also be used for protecting addresses in any serial datastream which may also be transmitted over a transmission line. Ingeneral, the invention may be applied in any application whereinformation words shall be encoded into a code and where an improvederror correction capacity shall be achieved if at least one informationsymbol is known a priori to the decoder.

[0059] In more general terms the invention may be applied to any linearcode, in particular Reed Solomon codes. A [n, k, n−k+1] RS code can besubdivided into multiple subcodes such that if the j most significantinformation symbols are known, the effective distance for decoding theremaining k−j information symbols equals n−k+1+j. The decoding procedurealso consists of re-encoding the j known information symbols,subtracting the result of this re-encoding from the received word anduse the appropriate decoder for decoding the high distance subcode thatis left.

[0060] In another embodiment of the present invention the generatormatrix G can be selected such that at least two subcodes are nested inthe code generated by said generator matrix G. This shall be illustratedby way of the following example. According to the invention thegenerator matrix G shall be selected as G=(g₁(x)g₂(x)g₃(x))^(T) wherein

g ₁(x)=(x−1)(x−α)(x−α ²)(x−α ³)=α⁶+α⁵ x+α ⁵ x ²+α² x ³ +x ⁴

g ₂(x)=(x−1)(x−α)(x−α ²))=α³+α⁶ x+α ⁵ x ² +x ³

g ₃(x)=(x−1)(x−α)=α+α³ x+x ²

[0061] where a is an element in GF(8) satisfying α³=1+α.

[0062] The corresponding generator matrix thus results in$G = {\begin{pmatrix}\alpha^{6} & \alpha^{5} & \alpha^{5} & \alpha^{2} & 1 \\\alpha^{3} & \alpha^{6} & \alpha^{5} & 1 & 0 \\\alpha & \alpha^{3} & 1 & 0 & 0\end{pmatrix}.}$

[0063] The codewords c(x) of the code C are therefore polynomialmultiples of the generator polynomial g₃(x). The code C generated bythis generator matrix G thus has minimum Hamming distance three as willbe clear from the above mentioned reference of R. Blahut at section 7.2.

[0064] Assuming that the information symbol m₃ of an information wordm=(m₁ m₂ m₃) is known a priori to the decoder the subcode C₂′ generatedby the corresponding subcode generator matrix G₂′=(g₁g₂)^(T) and havingminimum Hamming distance four can be employed. In such subcode C₂′ allcodewords are combinations of the generator polynomials g₁ and g₂.

[0065] If the information symbols m₂ and m₃ are known the subcode C₁′generated by the subcode generator matrix G₁′=(g₁) and having minimumHamming distance five can be employed.

[0066] In addition with the above selection of the generator matrix Gless multiplications are required for the calculation of the codewordsc=m·G since some of the generator polynomials are polynomial multiplesof other generator polynomials.

[0067] As can be seen from the above example the subcodes C₁′ and C₂′are nested in the code C and each subcode C₁′, C₂′ is generated by acorresponding subcode generator matrix G₁′, G₂′. Each of said subcodegenerator matrices G₁′, G₂′ has a different number of rows wherein allrows are part of said generator matrix G. In general the selection of Gcan be such that each subcode generator matrix includes an increasingnumber of rows and each subcode generator matrix can be achieved fromthe another subcode generator matrix by omitting one row. In the aboveexample the subcode generator matrix G₁′ derives from the subcodegenerator matrix G₂′ by omitting the second row, i.e. by deleting thegenerator polynomial g₂(x). The subcode generator matrix G₂′ derivesfrom the generator matrix G by deleting the last row of G, i.e. bydeleting the generator polynomial g₃(X).

[0068] The generator matrix G can also be selected such that the first irows, i being an integer number equal to or larger than 1, form asubcode generator matrix G_(i)′ for obtaining a subcode C_(i)′ whereinthe Hamming distance is larger than for a subcode C_(i+1)′ obtained froma subcode generator matrix G_(i+1)′ which is formed by the first i+1rows of said generator matrix G.

[0069] In more general terms the code C can be an [n≦q−1, k, n−k+1] RScode over GF(q) with generator polynomial${g_{k}(x)} = {\prod\limits_{0 \leq j \leq {n - k - 1}}\left( {x - \alpha^{j}} \right)}$

[0070] wherein α is a primitive element in GF(q). The codewords of thecode C are represented by polynomials c(x) of degree at most n−1 whichare polynomial multiples of the generator polynomial g_(k)(X). Accordingto the invention it is proposed to encode the information symbols m₀,m₁, . . . , m_(k−1) into

c(x)=m ₀ ·g ₁(x)+m ₁ ·g ₂(x)+ . . . +m _(k−1) ·g _(k)(x).

[0071] The information word m is thus encoded with a generator matrix Gfor which the j-th row consists of the coefficients of the polynomialg_(j)(x). The w top rows of the generator matrix G represent thepolynomials g₁(x), g₂(x), . . . , g_(w)(x), all of which are multiplesof g_(w)(x). Consequently, these top w rows generate an [n, w, n−w+1]residual code. Hence, if the decoder is informed about (m_(w), . . . ,m_(k−1)), then it can correct up to 0.5 (n−w) errors, using a decoderfor the RS code with generator polynomial g_(w)(x). It is to be notedthat the residual codes for consecutive w's are nested subcodes of theoriginal RS code C.

[0072] Another efficient encoding method consists of the followingsteps. At first the first codword parameter c¹(x) is initialized byc¹(x)=m₁. Thereafter for j=2 to k the subsequent codeword parametersc^(j)(x) are computed by

c ^(j)(x)=m _(j)+(x−α ^(n−j))c ^(j−1)(x)

[0073] Finally, the codeword polynomial c(x) is computed by${c(x)} = {{{c^{k}(x)} \cdot {g_{k}(x)}} = {\sum\limits_{0 \leq i \leq {n - 1}}{c_{i}{x^{i}.}}}}$

[0074] The coefficients of said codeword polynomial c(x) together formthe codeword c=(c₀, . . . , c_(n−1)) in the code C.

[0075] Another preferred embodiment of the invention shall now beexplained with reference to FIGS. 5 to 8. In FIGS. 5 and 6 twoembodiments of an encoding apparatus according to the invention forfrequency domain encoding, in FIG. 7 a corresponding decoding apparatusis shown, and in FIG. 8 an extracting unit which is part of the decodingapparatus of FIG. 7 is shown in more detail.

[0076] Frequency domain encoding and decoding shall be explained by wayof the detailed example in the field of digital video recording (DVR).In the example an address information comprising 5 address symbols and 1auxiliary symbol, together forming 6 information symbols, shall beencoded into a wobble code stored in a wobble signal. In the particularexample a [11, 6, 6] Reed-Solomon-like code over a Galois field GF (16)shall be used wherein α as a primitive element. The codewords c are thusof the form c(x)=c₀+c₁x+C₂x²+ . . . +c₁₀x¹⁰. The 6 information symbols(also called user symbols) shall be labeled as m₅, m₆, . . . , m₁₀, i.e.symbols m₀ to m₄ are not used in this particular example. A generatorpolynomial g(x) is given as${g(x)} = {{\prod\limits_{i = 0}^{4}\left( {x - \alpha^{i}} \right)} = {\sum\limits_{i = 0}^{5}{g_{i}{x^{i}.}}}}$

[0077] If no information symbol is known to the decoder said code has aminimum Hamming distance of six. However, if information symbol m₅ isknown the minimum Hamming distance is increased by one. With eachadditional successive information symbol known to the decoder also theminimum Hamming distance is increased by one.

[0078] Before implementing the encoding rule several definitions have tobe made which will be explained in the following. A parent generatorpolynomial g^((p))(x) is defined by${g^{(p)}(x)} = {{\prod\limits_{i = 0}^{10}\left( {x - \alpha^{i}} \right)} = {\sum\limits_{i = 0}^{11}{g_{i}^{(p)}{x^{i}.}}}}$

[0079] Thereafter for 5≦i≦10 component generator polynomials g^((i)) aredefined by

g ^((i))(x)=β_(i) {tilde over (g)} ^((i)),

wherein

{tilde over (g)} ^((i))(x)=g ^((p))(x)/(x−α ^(i))

β_(t) =[{tilde over (g)} ^((i))(x ^(i))]⁻¹.

[0080] The encoding rule for encoding a codeword c is then given by${c(x)} = {{\sum\limits_{i = 5}^{10}{m_{i}{g^{(i)}(x)}}} = {\left\lbrack {\sum\limits_{i = 5}^{10}\frac{m_{i}\beta_{i}}{\left( {x - \alpha^{i}} \right)}} \right\rbrack {{g^{(p)}(x)}.}}}$

[0081] The coefficients of said codeword polynomial c(x) then form thecodeword c in the code C.

[0082] The implementation of this encoding rule using a feed forwardregister is shown in FIG. 5. As can be seen therein in a first portionthe information symbols m₅ to m₁₀ are at first multiplied with certainparameters, fed to respective feedback shift registers and then summedup. Thereafter the sum is inputted to the feed forward shift registerincluding the coefficients of the parent generator polynomial to formthe codeword polynomial c(x).

[0083] The general definitions for implementing a frequency domainencoding of an information word m comprising k information symbolsm_(n−k), m_(k+1), . . . , m_(n−1) into a codeword of an [n,k,n−k+1]Reed-Solomon code over GF(q) are as follows: The parent generatorpolynomial (g^((p))(x)) is given as${{g^{(p)}(x)} = {\prod\limits_{i = 0}^{n - 1}\left( {x - \alpha^{i + b}} \right)}},$

[0084] wherein α is a non-zero element of GF(q) of order at most n, andb is an integer number. The component generator polynomials g^((i))(x)for n−k≦i≦n−1 are defined by

g ^((i))(x)β_(i) {tilde over (g)} ^((i))(x)

wherein

{tilde over (g)} ^((i))(x)=g ^((p))(x)/(x−α^(i+b))

and

β=[{tilde over (g)} ^((i))(α^(i+b))]⁻¹

[0085] hold. The codeword polynomial (c(x)) may be computed by${{c(x)} = {\sum\limits_{i = {n - k}}^{n - 1}{m_{i}{g^{(i)}(x)}}}},$

[0086] wherein the coefficients of said codeword polynomial c(x) formthe codeword c in the code C.

[0087] A slightly different embodiment of an encoding apparatus is shownin FIG. 6. Therein, the encoding rule for a [12, 7, 6]-code and forencoding 7 information symbols m₅, m₆, . . . , m₁, into a codeword c(x)is implemented. The encoding rule for that specific example is now givenby${c(x)} = {{\left\lbrack {\sum\limits_{i = 5}^{10}{m_{i}{g^{(i)}(x)}}} \right\rbrack + {m_{11}{g^{(p)}(x)}}} = {\left\lbrack {\left\{ {\sum\limits_{i = 5}^{10}\frac{m_{i}\beta_{i}}{\left( {x - \alpha^{i}} \right)}} \right\} + m_{11}} \right\rbrack {{g^{(p)}(x)}.}}}$

[0088] The difference between the encoding rules of FIGS. 5 and 6 isthat in the encoding rule of FIG. 6 the information symbol m₁₁ isdirectly used and that the encoding method implemented in the apparatusof FIG. 6 is a hybrid method of frequency and time domain encoding whilethe encoding method implemented in the apparatus of FIG. 5 is a methodfor pure frequency domain encoding.

[0089] The general definitions for implementing the hybrid encoding ofan information word m comprising k information symbols m_(n−k),m_(n−k+1), . . . , m_(n−1) to a codeword of an [n,k,n−k+1] Reed-Solomoncode over GF(q) are as follows: The parent generator polynomial(g(t)(x)) is given as${{g^{(t)}(x)} = {\prod\limits_{i = 0}^{n - 2}\left( {x - \alpha^{i + b}} \right)}},$

[0090] wherein α is a non-zero element of GF(q) of order at most n, andb is an integer number. The component generator polynomials g(i)(x) forn−k≦i≦n−2 are defined by

g ^((i))(x)=β_(i) {tilde over (g)} ^((i))(x)

wherein

{tilde over (g)} ^((i))(x)=g ^((t))(x)/(x−α ^(i+b))

and

β=[{tilde over (g)} ^((i))(α^(i+b))]⁻¹

[0091] hold. The codeword polynomial (c(x)) may be computed by${c(x)} = {{{\sum\limits_{i = {n - k}}^{n - 2}{m_{i}{g^{(i)}(x)}}} + {m_{n - 1}{g^{(t)}(x)}}} = {\left\lbrack {{\sum\limits_{i = {n - k}}^{n - 2}\frac{m_{i}}{\left( {x - \alpha^{i + b}} \right)}} + m_{n - 1}} \right\rbrack {g^{(t)}(x)}}}$

[0092] wherein the coefficients of said codeword polynomial c(x) formthe codeword c in the code C.

[0093] As can be seen from the above, in the examples all componentgenerator polynomials have the polynomial${g(x)} = {\prod\limits_{i = 0}^{4}\left( {x - \alpha^{i}} \right)}$

[0094] in common. Therefore the following properties of the parent andthe component generator polynomials can be used for the extraction ofthe information symbols:

g ^((p))(α^(i))=0, 5≦i≦10;

g ^(i)(α^(i))=1;

g ^((i))(α^(j))=0 for j≠i, 5≦i,j≦10.

[0095] The information symbols mi can thus be extracted as follows:

m _(i) =c(α^(i)),5≦i≦10, m ₁₁ =c ₁₁.

[0096] A corresponding decoding apparatus is shown in FIG. 7. Therein itis assumed that a received word r(x) comprising symbols r₀, r₁, . . . ,r₁₁ is a possibly mutilated codeword, i.e. includes a codeword c plusnoise n. From the received word r syndromes S_(j) are computed accordingto a known method in a syndrome forming unit 30 wherein it holds thatS_(j)=c(α^(j))+n(α^(j))=n(α^(j)) for 0≦j≦4 and S_(j)=n(α^(j))+m_(j) for5≦j≦10.

[0097] Under the assumption that k_(max)−4 information symbols m₅, m₆, .. . , m_(k max) are known to the decoder prior to decoding acontribution of the known information symbols m_(j) can be removed fromthe computed syndromes S_(j) for 5≦j≦k_(max). According to the inventionthe syndromes S_(j) are therefore modified in a syndrome modificationunit 31 to obtain additional (modified) syndromes S′_(j).

[0098] For 0≦k≦4 it holds that the syndromes are not modified, i.e.S′_(k)=S_(k). However, for 5≦k≦k_(max) the syndromes are modified byS′_(k)=S_(k)−m_(k), i.e. each syndrome S for which a correspondinginformation symbol is known to the decoder is modified. The obtainedmodified syndromes S′ and the information about the number a prioriknown information symbols (kmax) are then inputted to an error patterncalculation unit 32 of a known type for calculating error locations anderror values to obtain the coefficients c₀, c₁, . . . , c₁₁ of thecodeword c. In a practical realization said error pattern calculationunit 32 may comprise a unit for solving a key equation and a unit forimplementing a Chien search and Forney algorithm. As said before,S′_(k)=S_(k)=n(α^(k)) for 0≦k≦4, and for 5≦k≦k_(max),S′_(k)=S_(k)−m_(k)=(n(α^(k))+m_(k))−m_(k)=n(α^(k)). Consequently,S′_(k)=n(α^(k)) for 0≦k≦k_(max), which implies that effectively, a codeof minimum Hamming distance k_(max)+2 is used.

[0099] Finally, the obtained codeword coefficients c₀, c₁, . . . , c₁₁are used to extract all information symbols m₅, m₆, . . . , m₁₁ in anextracting unit 33 wherein the information symbols are given by:

m_(i) =c(α^(j)), 5≦i≦10, and m ₁₁ =c ₁₁.

[0100] A detailed embodiment of said extracting unit 33 is shown in FIG.8.

[0101] As shown before, the Hamming distance of the described codeincreases to k_(max)+2 if information symbols m₅, m₆, . . . , m_(k max)are known thus enabling a more reliable address recognition. Theincrease in Hamming distance does not cost an extra redundancy and thedecoder of the code might be a usual decoder which is capable ofcomputing some extra syndromes. Knowledge of some information symbolsthus allows to update and subsequently use the syndromes correspondingto these information symbols.

[0102] In more general terms the syndromes S_(j) are computed by${S_{j} = {{\sum\limits_{i = 0}^{n - 1}{r_{i}\alpha^{i{({j + b})}}\quad {for}\quad 0}} \leq j \leq {n - k - 1}}},$

[0103] and if the information symbols m_(n−k), m_(n−k+1), . . . ,m_(n−k+s−1) are a priori known, said additional syndromes (S′) arecomputed by$S_{j}^{\prime} = {{{\sum\limits_{i = 0}^{n - 1}{r_{i}\alpha^{i{({j + b})}}}} - {m_{j}\quad {for}\quad n} - k} \leq j \leq {n - k + s - 1.}}$

[0104] The information symbols may the be obtained by either

m _(j) =c(α^(j+b))for n−k≦j≦n−2and m _(n−1) =c _(n−1)

or

m _(j) =c(α^(j+b))for n−k≦j≦n−1.

[0105] An example for a 3×5 generator matrix corresponding to frequencydomain encoding shall now be given. For i=1, 2, 3 the i-th row of thegenerator matrix corresponds to a polynomial f_(i)(x) of degree at most4 such that f_(i)(1)=f_(i)(α)=0, f_(i)(α^(i−1))=1, and for 1≦j≦3,f_(i)(α^(j+1))=0 if i≠j. Herein, α is an element of GF(8) satisfyingα³=1+α. The following polynomials satisfy these requirements

f ₁(x)=α⁶+α⁶ x+α ³ x ²+α² x ³+α⁵ x ⁴

f ₂(x)=α²+α² x ²+α² x ³+α² x ⁴

f ₃(x)=α⁶+α⁵ x+α ⁵ x ²+α² x ³ x ⁴

[0106] This results in the generator matrix $G = {\begin{pmatrix}\alpha^{6} & \alpha^{6} & \alpha^{3} & \alpha^{2} & \alpha^{5} \\\alpha^{2} & 0 & \alpha^{2} & \alpha^{2} & \alpha^{2} \\\alpha^{6} & \alpha^{5} & \alpha^{5} & \alpha^{2} & 1\end{pmatrix}.}$

[0107] Yet another embodiment of the invention based on code puncturingshall now be explained with reference to FIGS. 9 and 10. FIG. 9illustrates the method of encoding an information word m into a codewordc and FIG. 10 illustrates the method of decoding a possibly mutilatedcodeword r into an information word m.

[0108] As shown in FIG. 9 the information word m comprising kinformation symbols is encoded by an encoding unit 41 of an encodingapparatus 40 using an intermediate generator matrix G″. Saidintermediate generator matrix G″ derives from a generator matrix G whichhas been selected by a selection unit 42. The intermediate generatormatrix G″ is larger than the generator matrix G in that it comprises atleast one more column than the generator matrix G. In general, thegenerator matrix G has k rows and n columns while the intermediategenerator matrix G″ has k rows and n+k columns and comprises k columnswith a single non-zero entry at mutually different positions. When usingsaid intermediate generator matrix G″ for encoding the information wordm, intermediate codewords t having k+n symbols are obtained. From saidintermediate codeword t the codeword c is obtained from a codewordgenerating unit 44 by omitting a number of symbols of said intermediatecodeword t. Therein the number of symbols to omit corresponds to thedifference between the number of columns of said intermediate generatormatrix G″ and said generator matrix G. Thus, the obtained codeword ccomprises n symbols.

[0109] During decoding a possibly multilated codeword r comprising nsymbols is received by a decoder as shown in FIG. 10. In a first stepthe received word r is extended into a first pseudo codeword r′ by anextension unit 50. Therein said intermediate generator matrix G″ whichhas already been used in the encoder is used to determine the length ofsaid pseudo codeword r′, i. e. the number of symbols of said pseudocodeword r′ corresponds to the number of columns of said intermediategenerator matrix G″, i. e. to the n symbols of the received word r kerasures are added to obtain the pseudo codeword r′.

[0110] Thereafter, in a replacement unit 51 a priori known informationsymbols, e.g. m₁, m₅, m₆, are replaced in said pseudo codeword r′ atpositions of the erasures which correspond to the positions of said apriori known information symbols. This means that the erasures 1, 5 and6 are replaced by the a priori known information symbols m₁, m₅, m₆. Theobtained second pseudo codeword r″ is thereafter inputted to a decoderunit 52 which is preferably a known error and erasure decoder decodingsaid second pseudo codeword r″ by use of said intermediate generatormatrix G″ into the information word m comprising k symbols.

[0111] According to this embodiment of the invention a largerintermediate generator matrix G″ is used compared to other embodimentsof the invention. However, the advantage of this embodiment is that theinformation symbols do not need to be known a priori in successive orderbut any additional information symbol known a priori irrespective of theposition of the information symbol within the information word generallyleads to an enhanced minimum Hamming distance compared to the code usedif no information symbols are known a priori.

[0112] The embodiment based on code puncturing shall now be illustrateddifferently. Considered is an [8, 3, 6] extended Reed-Solomon Code Cover a Galois Field GF (8) defined as follows. The vector c=(c⁻¹, c₀, c₁. . . , c₆) is in C if and only if$c_{- 1} = {{\sum\limits_{i = 0}^{6}{c_{i}\quad {and}\quad {\sum\limits_{i = 0}^{6}{c_{i}\alpha^{ij}}}}} = {{0\quad {for}\quad 1} \leq j \leq 4.}}$

[0113] Herein, α is an element of GF(8) satisfying α³=1+α. It can beseen that the following intermediate generator matrix G″ generates thecode C $G^{''} = {\begin{pmatrix}1 & 0 & 0 & \alpha^{2} & 1 & \alpha^{6} & \alpha^{2} & \alpha^{6} \\0 & 1 & 0 & \alpha^{3} & 1 & \alpha^{3} & \alpha & \alpha \\0 & 0 & 1 & \alpha^{4} & 1 & \alpha^{5} & \alpha^{5} & \alpha^{4}\end{pmatrix}.}$

[0114] The rightmost 5 columns of the intermediate generator matrix G″are used as a generator matrix G, i. e. the generator matrix G is$G = {\begin{pmatrix}\alpha^{2} & 1 & \alpha^{6} & \alpha^{2} & \alpha^{6} \\\alpha^{3} & 1 & \alpha^{3} & \alpha & \alpha \\\alpha^{4} & 1 & \alpha^{5} & \alpha^{5} & \alpha^{4}\end{pmatrix}.}$

[0115] The code generated by the generator matrix G has minimum Hammingdistance 3. Knowledge of any j information symbols effectively increasesthe minimum Hamming distance from 3 to 3+j.

1. Method of selecting a generator matrix (G) for encoding informationwords (m) comprising information symbols (m₁, m₂, . . . , m_(k)) intocodewords (c) of a code (C) for providing an enhanced error correctioncapability if at least one information symbol (m₁, m₂, m₃) is known apriori to a decoder decoding received, possibly mutilated codewords (r),characterized in that said generator matrix (G) is selected such thatthe minimum Hamming distance of at least one subcode (C′) of said code(C) is larger than the minimum Hamming distance of said code (C) andthat a subcode generator matrix (G′) of said subcode (C′) derives fromsaid generator matrix (G) of said code (C) by omitting the at least onerow from said generator matrix (G) corresponding to said at least one apriori known information symbol (m₁, m₂, m₃).
 2. Method according toclaim 1, characterized in that said generator matrix (G) is selectedsuch that there are at least two subcodes (C₁′, C₂′, C₃′) ofrespectively increasing Hamming distance, that said subcodes (C₁′, C₂′,C₃′) are nested in said code (C) and that each subcode (C₁′, C₂′, C₃′)is generated by a corresponding subcode generator matrix (G₁′, G₂′,G₃′), wherein each subcode generator matrix (G₁′, G₂′, G₃′) has adifferent number of rows and all rows are part of said generator matrix(G).
 3. Method according to claim 2, characterized in that said subcodegenerator matrices (G₁′, G₂′, G₃′) include an increasing number of rows,wherein the number increases by one for each generator matrix (G₁′, G₂′,G₃′) and wherein the (i−1)-th subcode generator matrix (G₁′) derivesfrom the i-th subcode generator matrix (G₂′) by omitting one row. 4.Method according to claim 3, characterized in that said generator matrix(G) is selected such that for all integer numbers i, i being an integernumber equal to or larger than 1 but at most k−1 where k is the numberof rows of said generator matrix (G), a number of i rows forms a subcodegenerator matrix (G_(i)′) for obtaining a subcode (C_(i)′) having alarger Hamming distance than a subcode (C_(i+1)′) obtained from asubcode generator matrix (G_(i+1)′) formed by a number of i+1 rows ofsaid generator matrix (G).
 5. Method according to claim 1, characterizedin that said generator matrix (G) derives from a larger, intermediategenerator matrix (G″), which has at least one column more than saidgenerator matrix (G) and which generates a code having an increasedminimum Hamming distance, by omitting said at least one column having asingle non-zero entry.
 6. Method according to claim 5, characterized inthat said generator matrix (G) has k rows and n columns, that saidintermediate generator matrix (G″), having k rows and n+k columns,comprises k columns each with a single non-zero entry at mutuallydifferent positions and that said generator matrix (G) derives from saidintermediate generator matrix (G″) by omitting said k columns.
 7. Methodof encoding information words (m) comprising information symbols (m₁,m₂, . . . ,m_(k)) into codewords (c) of a code (C) for providing anenhanced error correction capability if at least one information symbol(m₁, m₂, m₃) is known a priori to a decoder decoding received, possiblymutilated codewords (r), characterized in that a generator matrix (G)selected according to a method of claim 1 is used for encoding saidinformation words (m) into said codewords (c).
 8. Method according toclaim 7, comprising the steps of: a) initializing a first codewordparameter (c¹(x)) with the first information symbol (m₁); b) thereaftercalculating subsequent codeword parameters (c^(j)(x)) for j=2 to k c^(j)(x)=m _(j)+(x−α ^(n−j))c ^(j−1)(x); c) finally calculating thecodeword polynomial (c(x))${{c(x)} = {{{c^{k - 1}(x)} \cdot {g_{k}(x)}} = {\sum\limits_{0 \leq i \leq {n - 1}}{c_{i}x^{i}}}}},$

wherein the coefficients (c_(i)) of said codeword polynomial (c(x)) formthe codeword (c) in the code (C).
 9. Method according to claim 7,wherein an information word (m) comprising k information symbols(m_(n−k), m_(n−k+1), . . . , m_(n−1)) is encoded to a codeword (c) of an[n,k,n−k+1] Reed-Solomon code over GF(q), said encoding comprising thesteps of: a) defining a parent generator polynomial (g^((p))(x))${{g^{(p)}(x)} = {\prod\limits_{i = 0}^{n - 1}\left( {x - \alpha^{i + b}} \right)}},$

 wherein α is a non-zero element of GF(q) of order at most n, and b isan integer number; b) defining component generator polynomials (g^((i)))for n−k≦i≦n−1 g ^((i))(x)=β_(i) {tilde over (g)} ^((i)),wherein{tildeover (g)} ^((i))(x)g ^((p))(x)/(x−α ^(1+b))andβ=[{tilde over (g)}^((i))(α^(i+b))]⁻¹; c) computing the codeword polynomial (c(x))${{c(x)} = {\sum\limits_{i = {n - k}}^{n - 1}{m_{i}{g^{(i)}(x)}}}},$

wherein the coefficients of said codeword polynomial (c(x)) form thecodeword (c) in the code (C).
 10. Method according to claim 7, whereinan information word (m) comprising k information symbols(m_(n−k),m_(n−k+1), . . . , m_(n−1)) is encoded to a codeword (c) of an[n,k,n−k+1] Reed-Solomon code over GF(q), said encoding comprising thesteps of: defining a parent generator polynomial (g^((t))(x))${{g^{(t)}(x)} = {\prod\limits_{i = 0}^{n - 2}\left( {x - \alpha^{i + b}} \right)}},$

 wherein α is a non-zero element of GF(q) of order at most n, and b isan integer number; b) defining component generator polynomials (g^((i)))for n−k≦i≦n−2 g ^((i))(x)=β_(l{tilde over (g)}) ^((i))(x)wherein{tildeover (g)} ^((i))(x)=g ^((t))(x)/(x−α ^(i+b))andβ_(i) =[{tilde over (g)}^((i))(α^(i+b))]⁻¹ c) computing the codeword polynomial (c(x))${c(x)} = {\left\lbrack {\sum\limits_{i = {n - k}}^{n - 2}{m_{i}{g^{(i)}(x)}}} \right\rbrack + {m_{n - 1}{{g^{(t)}(x)}.}}}$

wherein the coefficients of said codeword polynomial (c(x)) form thecodeword (c) in the code (C).
 11. Method according to claim 7, wherein agenerator matrix (G) selected according to a method of claim 5 andderived from an intermediate generator matrix (G″) is used for encodingsaid information words (m) into said codewords (c), comprising the stepsof: a) generating intermediate codewords (t) by encoding saidinformation words (m) using said intermediate generator matrix (G″), b)generating said codewords (c) from said intermediate codewords (t) byomitting at least one symbol, wherein the number of symbols to omitcorresponds to the difference between the number of columns of saidintermediate generator matrix (G″) and said generator matrix (G). 12.Method of decoding possibly mutilated codewords (r) of a code (C) intoinformation words (m) comprising information symbols (m₁, m₂, . . .,m_(k)), said information words (m) being encoded into codewords (c) ofsaid code (C) using a generator matrix (G) and said code (C) beingprovided with an enhanced error correction capability if at least oneinformation symbol (m₁, m₂, m₃) is known a priori before decoding,characterized in that said information words (m) are encoded into saidcodewords (c) using a generator matrix (G) selected according to amethod of claim 1 and that the contribution of said at least one apriori known information symbol (m₁, m₂, m₃) included in said possiblymutilated codeword (r) is taken into account for decoding said possiblymutilated codeword (r) with enhanced error correcting capabilities. 13.Method according to claim 12, comprising the steps of: a) encoding saida priori known information symbols (m₁, m₂, m₃) using the correspondingrows of said generator matrix (G) of said code (C), b) adding theresults of the encoding step representing an intermediate word (s), c)subtracting said intermediate word (s) from said possibly mutilatedcodeword (r) to be decoded, d) decoding the result of said subtractionby a known method for decoding the code generated by the rows of thegenerator matrix (G) that do not correspond to said a priori knowninformation symbols, and e) recovering the information word (m). 14.Method according to claim 12, comprising the steps of: a) formingsyndromes (S) from a received, possibly mutilated codeword (r), b)forming additional syndromes (S′) using said a priori known informationsymbols (m₅, m₆, . . . , m_(k max)) and said possibly mutilated codeword(r), c) calculating the information word (m) using said syndromes (S)and additional syndromes (S′).
 15. Method according to claim 14, whereinthe information word (m) is calculated by the steps of c1) calculatingerror locations and error values using said syndromes (S) and additionalsyndromes (S′) to obtain the codeword (c), and c2) extracting theinformation word (m) from said obtained codeword (c).
 16. Methodaccording to claim 15, wherein the information words (m) are encodedinto said codewords (c) by a method according to claim 9, wherein saidsyndromes (S) are computed as${S_{j} = {{\sum\limits_{i = 0}^{n - 1}{r_{i}\alpha^{i{({j + b})}}\quad {for}\quad 0}} \leq j \leq {n - k - 1}}},$

wherein said additional syndromes (S′) are computed as${S_{j}^{\prime} = {{{\sum\limits_{i = 0}^{n - 1}{r_{i}\alpha^{i{({j + b})}}}} - {m_{j}\quad {for}\quad n} - k} \leq j \leq {n - k + s - 1}}},$

wherein m_(n−k),m_(n−k+1), . . . ,m_(n−k+s−1) are the known a prioriinformation symbols and wherein said information words (m) are extractedfrom said obtained codewords by m_(j)=c(α^(j+b)) for n−k≦j≦n−1. 17.Method according to claim 15, wherein the information words (m) areencoded into said codewords (c) by a method according to claim 10,wherein said syndromes (S) are computed as${S_{j} = {{\sum\limits_{i = 0}^{n - 1}{r_{i}\alpha^{i{({j + b})}}\quad {for}\quad 0}} \leq j \leq {n - k - 1}}},$

wherein said additional syndromes (S′) are computed as${S_{j}^{\prime} = {{{\sum\limits_{i = 0}^{n - 1}{r_{i}\alpha^{i{({j + b})}}}} - {m_{j}\quad {for}\quad n} - k} \leq j \leq {n - k + s - 1}}},$

wherein m_(n−k),m_(n−k+1), . . . ,m_(n−k+S−1), are the known a prioriinformation symbols and wherein said information words (m) are extractedfrom said obtained codewords by m_(j)=c(α^(j+b)) for n−k≦j≦n−2 andm_(n−1)=c_(n−1).
 18. Method according to claim 12, wherein a generatormatrix (G) selected according to a method of claim 5 and derived from anintermediate generator matrix (G″) is used for encoding said informationwords (m) into said codewords (c) according to a method of claim 11,comprising the steps of: a) extending said possibly mutilated codeword(r) to a pseudo codeword (r′) by adding erasures at positionscorresponding to said columns that have been omitted in saidintermediate generator matrix (G″) to obtain said generator matrix (G),b) replacing the erasures at positions corresponding to said a prioriknown information symbols (m₁, m₂, m₃) by said a priori knowninformation symbols to obtain a second pseudo codeword (r″), and c)decoding said second pseudo codeword (r″) by a known method for errorand erasure decoding of a code generated by said intermediate generatormatrix (G″).
 19. Method according to any one of claims 1, 7 and 12,characterized in that said information words (m) comprise data itemswherein successive information words have predetermined correspondingdata item elements such that knowledge of a first information wordcomprising a first data item leads to knowledge of data item elements ofone or more successive data items included in subsequent informationwords.
 20. Method according to claim 19, characterized in that saidinformation words (m) comprise address information, in particularaddress information of positions in a serial data stream and/or ofpositions on a data carrier.
 21. Method according to claim 20,characterized in that said method is applied in digital video recordingfor encoding an address information into a wobble code to be stored on adata carrier in a wobble signal.
 22. Method according to claim 20,characterized in that said information words (m) of said addressinformation comprise multi-bit information symbols.
 23. Apparatus forencoding information words (m) comprising information symbols (m₁, m₂, .. . ,m_(k)) into codewords (c) of a code (C) for providing an enhancederror correction capability if at least one information symbol (m₁, m₂,m₃) is known a priori to a decoder decoding received, possibly mutilatedcodewords (r), comprising means for encoding said information words (m)into said codewords (c) using a generator matrix (G) selected by amethod according to claim
 1. 24. Apparatus for decoding possiblymutilated codewords (r) of a code (C) into information words (m)comprising information symbols (m₁, m₂, . . . ,m_(k)), said informationwords (m) being encoded into codewords (c) of said code (C) using agenerator matrix (G) selected by a method according to claim 1 and saidcode (C) being provided with an enhanced error correction capability ifat least one information symbol (m₁, m₂, m₃) is known a priori beforedecoding, comprising means for taking the contribution of said at leastone a priori known information symbol (m₁, m₂, m₃) included in saidpossibly mutilated codeword (r) into account for decoding said possiblymutilated codeword (r) with enhanced error correcting capabilities. 25.Computer program for implementing a method of claim 1, 7 and/or
 12. 26.Data carrier for recording user data, said data carrier having storedsystem data items encoded by a method according to claim
 7. 27. Datacarrier according to claim 26, wherein said system data items compriseaddress data and/or timing data used for finding a position on said datacarrier.
 28. Signal for transmitting user data, said signal includingsystem data items encoded by a method according to claim 7.